package com.ruoyi.emergencyplan.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 物料条目对象 material_items
 * 
 * @author hcc
 * @date 2023-12-16
 */
public class MaterialItems extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 物资编号 */
    @Excel(name = "物资编号")
    private String materialCode;

    /** 物资名称 */
    @Excel(name = "物资名称")
    private String materialName;

    /** 物资类别ID */
    @Excel(name = "物资类别ID")
    private String categoryId;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal num;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 存放区域 */
    @Excel(name = "存放区域")
    private String storageArea;

    /** 责任部门 */
    @Excel(name = "责任部门")
    private String responsibleDept;

    /** 最后盘点时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后盘点时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastInventoryDate;

    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String createByName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 更新人姓名 */
    @Excel(name = "更新人姓名")
    private String updateByName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extra1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String extra2;

    /** 扩展字段3 */
    @Excel(name = "扩展字段3")
    private String extra3;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufactureDate;

    /** 过期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationDate;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specifications;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setMaterialCode(String materialCode) 
    {
        this.materialCode = materialCode;
    }

    public String getMaterialCode() 
    {
        return materialCode;
    }
    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }
    public void setCategoryId(String categoryId) 
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId() 
    {
        return categoryId;
    }
    public void setNum(BigDecimal num) 
    {
        this.num = num;
    }

    public BigDecimal getNum() 
    {
        return num;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setStorageArea(String storageArea) 
    {
        this.storageArea = storageArea;
    }

    public String getStorageArea() 
    {
        return storageArea;
    }
    public void setResponsibleDept(String responsibleDept) 
    {
        this.responsibleDept = responsibleDept;
    }

    public String getResponsibleDept() 
    {
        return responsibleDept;
    }
    public void setLastInventoryDate(Date lastInventoryDate) 
    {
        this.lastInventoryDate = lastInventoryDate;
    }

    public Date getLastInventoryDate() 
    {
        return lastInventoryDate;
    }
    public void setCreateByName(String createByName) 
    {
        this.createByName = createByName;
    }

    public String getCreateByName() 
    {
        return createByName;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setUpdateByName(String updateByName) 
    {
        this.updateByName = updateByName;
    }

    public String getUpdateByName() 
    {
        return updateByName;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setExtra1(String extra1) 
    {
        this.extra1 = extra1;
    }

    public String getExtra1() 
    {
        return extra1;
    }
    public void setExtra2(String extra2) 
    {
        this.extra2 = extra2;
    }

    public String getExtra2() 
    {
        return extra2;
    }
    public void setExtra3(String extra3) 
    {
        this.extra3 = extra3;
    }

    public String getExtra3() 
    {
        return extra3;
    }
    public void setManufactureDate(Date manufactureDate) 
    {
        this.manufactureDate = manufactureDate;
    }

    public Date getManufactureDate() 
    {
        return manufactureDate;
    }
    public void setExpirationDate(Date expirationDate) 
    {
        this.expirationDate = expirationDate;
    }

    public Date getExpirationDate() 
    {
        return expirationDate;
    }
    public void setSpecifications(String specifications) 
    {
        this.specifications = specifications;
    }

    public String getSpecifications() 
    {
        return specifications;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("materialCode", getMaterialCode())
            .append("materialName", getMaterialName())
            .append("categoryId", getCategoryId())
            .append("num", getNum())
            .append("unit", getUnit())
            .append("storageArea", getStorageArea())
            .append("responsibleDept", getResponsibleDept())
            .append("lastInventoryDate", getLastInventoryDate())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createAt", getCreateAt())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateAt", getUpdateAt())
            .append("version", getVersion())
            .append("status", getStatus())
            .append("extra1", getExtra1())
            .append("extra2", getExtra2())
            .append("extra3", getExtra3())
            .append("manufactureDate", getManufactureDate())
            .append("expirationDate", getExpirationDate())
            .append("specifications", getSpecifications())
            .toString();
    }
}
